package com.chess.connections.net;

import io.netty.channel.ChannelInitializer;
import io.netty.channel.socket.SocketChannel;
import io.netty.handler.codec.http.HttpObjectAggregator;
import io.netty.handler.codec.http.HttpServerCodec;
import io.netty.handler.stream.ChunkedWriteHandler;

/**
 * Created by wusk on 2017/12/12.
 * 初始化
 */
public class WebSocketChannelInitializer extends ChannelInitializer<SocketChannel> {

    private ServerMessageHandler handler;

    public WebSocketChannelInitializer(ServerMessageHandler h){
        this.handler = h;
    }

    @Override
    protected void initChannel(SocketChannel socketChannel) throws Exception {
        socketChannel.pipeline().addLast("http-codec",new HttpServerCodec());
        socketChannel.pipeline().addLast("aggregator",new HttpObjectAggregator(65536));
        socketChannel.pipeline().addLast("http-chunked",new ChunkedWriteHandler());
        socketChannel.pipeline().addLast("handler", handler);
    }
}
